/*******************************************************************************
    文件名称： 
	开发者：孙磊
	开发时间地点：2013.12.3 
	邮箱：zhongyuansunlei@163.com
	版本信息：
		
********************************************************************************/
#ifndef __NODEARRAY_H__
#define __NODEARRAY_H__

#include "common.h"


int iinit_nodearray(nodearray **, int isize);


node* paddnode_2_nodearray(
	nodearray *pnodearray, 
	void*pvalue, 
	int (*mem_alloc_cp_func)(node*, void*),
	int (*cmp_func)(node*, void*),
	int (*hash_func)(void*)
	);
	
int iaddnode_2_nodearray(
	nodearray *pnodearray, 
	void*pvalue, 
	int (*mem_alloc_cp_func)(node*, void*),
	int (*cmp_func)(node*, void*),
	int (*hash_func)(void*)
	);
	
int idelnode_from_nodearray(
	nodearray *pnodearray, 
	void*pvalue, 
	void (*mem_free)(void*), 
	int (*cmp_func)(node*, void*),
	int (*hash_func)(void*)
	);
	
int irelease_nodearray(nodearray *pnodearray, void (*mem_free)(void*));

void vprint_nodearray(nodearray *pnodearray, void (*print_func)(void*));

int iexist_in_nodearray(
	nodearray *pnodearray, 
	void*pvalue, 
	int (*cmp_func)(node*, void*),
	int (*hash_func)(void*)
	);
#endif
